//#include <stdio.h>
//
//int main() {
//	int N = 0;
//	scanf("%d", &N);
//	int limit = N * N;
//	int sum = 0;
//	int row = 0;
//	int zero_one = 0;
//	while (sum < limit) {
//		int input = 0;
//		scanf("%d", &input);
//		sum = sum + input;
//		for (int i = 0; i < input; i++) {
//			row++;
//			if (zero_one == 0)
//				printf("%d", 0);
//			else
//				printf("%d", 1);
//			if (row == N) {
//				printf("\n");
//				row = 0;
//			}
//		}
//		if (zero_one == 0)
//			zero_one = 1;
//		else
//			zero_one = 0;
//
//	}
//	return 0;
//}

//int main() {
//	int n = 0;
//	scanf("%d", &n);
//	int now = 0;
//	int prev = 0;
//	int low_lying_land_nums = 0;
//	int find_small_mode = 0;
//	int find_big_mode = 0;
//	for (int i = 0; i < n; i++) {
//		scanf("%d", &now);
//		if (now > 0 && find_small_mode == 0 && find_big_mode == 0) {
//			prev = now;
//			find_small_mode = 1;
//		}
//		if (find_small_mode == 1) {
//			if (now > prev)
//				prev = now;
//			else if (now < prev) {
//				prev = now;
//				find_small_mode = 0;
//				find_big_mode = 1;
//			}
//			else
//				;
//		}
//
//		if (find_big_mode == 1) {
//			if (now < prev)
//				prev = now;
//			else if (now > prev) {
//				prev = now;
//				find_small_mode = 1;
//				find_big_mode = 0;
//				low_lying_land_nums++;
//			}
//			else
//				;
//		}
//	}
//	printf("%d", low_lying_land_nums);
//	return 0;
//}
#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>


int main() {
	char arr[255] = { 0 };
	scanf("%s", arr);
	int i = 0;
	int boy_num = 0;
	int girl_num = 0;
	while (arr[i] != '\0') {
		if (arr[i] == '.') {
			i++;
			continue;
		}
		if (arr[i] == 'b') {
			if (arr[i + 1] == 'o') {
				if (arr[i + 2] == 'y') {
					boy_num++;
					i += 3;
				}
				else {
					boy_num++;
					i += 2;
				}

			}
			else {
				boy_num++;
				i++;
			}
		}
		if (arr[i] == 'o') {
			if (arr[i + 1] == 'y') {
				boy_num++;
				i += 2;
			}
			else {
				boy_num++;
				i++;
			}
		}
		if (arr[i] == 'y') {
			boy_num++;
			i++;
		}

		if (arr[i] == 'g') {
			if (arr[i + 1] == 'i') {
				if (arr[i + 2] == 'r') {
					if (arr[i + 3] == 'l') {
						girl_num++;
						i += 4;
					}
					else {
						girl_num++;
						i += 3;
					}
				}
				else {
					girl_num++;
					i += 2;
				}
			}
			else {
				girl_num++;
				i++;
			}
		}
		if (arr[i] == 'i') {
			if (arr[i + 1] == 'r') {
				if (arr[i + 2] == 'l') {
					girl_num++;
					i += 3;
				}
				else {
					girl_num++;
					i += 2;
				}
			}
			else {
				girl_num++;
				i++;
			}
		}
		if (arr[i] == 'r') {
			if (arr[i + 2] == 'l') {
				girl_num++;
				i += 2;
			}
			else {
				girl_num++;
				i++;
			}
		}
		if (arr[i] == 'l') {
			girl_num++;
			i++;
		}
	}
	printf("%d\n", boy_num);
	printf("%d\n", girl_num);
	return 0;
}

//int main() {
//	int longest_serial_number = 1;
//	int new_serial_number = 1;
//	int n = 0;
//	int input = 0;
//	int prev = 0;
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++) {
//		if (i > 0) {
//			prev = input;
//		}
//		scanf("%d", &input);
//		if (input == prev + 1) {
//			new_serial_number++;
//		}
//		else {
//			new_serial_number = 1;
//		}
//		if (new_serial_number > longest_serial_number) {
//			longest_serial_number = new_serial_number;
//		}
//	}
//	printf("%d", longest_serial_number);
//	return 0;
//}

////#include <math.h>
////
////int change_to_decimal(int x, int B, int k) {
////	if (x < 10 && x > -10)
////		return x * (int)pow(B, k);
////	else
////		return x % 10 * (int)pow(B, k) + change_to_decimal(x / 10, B, k + 1);
////}
////
////int main() {
////	int p = 0, q = 0, r = 0;
////	scanf("%d %d %d", &p, &q, &r);
////	if (q == 0) {
////		printf("%d", 2);
////		return 0;
////	}
////	if (r == 0)
////	{
////		printf("%d", 0);
////		return 0;
////	}
////	int p10 = 0;
////	int q10 = 0;
////	int r10 = 0;
////	for (int B = 2; B <= 16; B++) {
////		p10 = change_to_decimal(p, B, 0);
////		q10 = change_to_decimal(q, B, 0);
////		r10 = change_to_decimal(r, B, 0);
////		if (p10 * q10 == r10) {
////			printf("%d", B);
////			return 0;
////		}
////	}
////	printf("%d", 0);
////	return 0;
////}

//#include <string.h>
//#include <ctype.h>
//
//void reverse(char* left, char* right) {
//	while (left < right) {
//		char tem = *left;
//		*left = *right;
//		*right = tem;
//		left++;
//		right--;
//	}
//}
//
//int main() {
//	char arr[7000] = { 0 };
//	gets(arr);
//	int size = strlen(arr);
//	reverse(arr, arr + size - 1);
//	int count = 0;
//	for (int i = 0; i < size+1 ; i++)
//	{
//		if (arr[i] == ' ' || arr[i] == '\0')
//		{
//			
//			if(arr[i - count] < '0' || arr[i - count] > '9')
//			{
//				for (int j = 0; j < count; j++)
//				{
//					if (isupper(arr[i - count + j]))
//						arr[i - count + j]=tolower(arr[i - count + j]);
//					else
//						arr[i - count + j]=toupper(arr[i - count + j]);
//				}
//				reverse(arr + i - count, arr + i - 1);
//				count = 0;
//				continue;
//			}
//			else
//			{
//				count = 0;
//				continue;
//			}
//		}
//		count++;
//	}
//
//
//	for (int i = 0; i < size; i++) {
//		printf("%c", arr[i]);
//	}
//	return 0;
//}
